//定义详情模块数据ts类型
export interface ResponseData {
  code: number,
  message: string,
  ok: boolean
}
//代表医院详情的数据
export interface HosPitalDetail {
  "bookingRule": {
    "cycle": number,
    "releaseTime": string,
    "stopTime": string,
    "quitDay": number,
    "quitTime": string,
    "rule": string[]
  },
  "hospital": {
    "id": string,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
      "hostypeString": string,
      "fullAddress": string
    },
    "hoscode": string,
    "hosname": string,
    "hostype": string,
    "provinceCode": string,
    "cityCode": string,
    "districtCode": string,
    "address": string,
    "logoData": string,
    "intro": null,
    "route": string,
    "status": number,
    "bookingRule": null
  }
}

//医院详情返回数据ts
export interface HospitalDetail extends ResponseData {
  data: HosPitalDetail
}


//代表医院科室的数据
export interface Deparment {
  "depcode": string,
  "depname": string,
  "children"?: Deparment[]
}

//代表存储科室数组类型
export type DeparmentArr = Deparment[];
//获取科室接口返回的数据类型
export interface DeparmentResponseData extends ResponseData {
  data: DeparmentArr
}

//用户登录接口需要携带参数类型
export interface LoginData {
  phone: string,
  code: string
}

//登录接口返回用户信息数据
export interface UserInfo {
  name: string,
  token: string
}
//登录接口返回的数据的ts类型
export interface UserLoginResponseData extends ResponseData {
  data: UserInfo
}


//定义微信扫码登录返回的数据的ts类型
export interface WXLogin {
  "redirectUri": string,
  "appid": string,
  "scope": string,
  "state": string
}

export interface WXLoginResponseData extends ResponseData {
  data: WXLogin
}


export interface BaseMap {
  "workDateString": string,
  "releaseTime": string,
  "bigname": string,
  "stopTime": string,
  "depname": string,
  "hosname": string
}

export interface WorkData {
  "workDate": string,
  "workDateMd": string,
  "dayOfWeek": string,
  "docCount": number,
  "reservedNumber": null,
  "availableNumber": number,
  "status": number
}

export type BookingScheduleList = WorkData[]

export interface HospitalWordData extends ResponseData {
  data: {
    total: number,
    bookingScheduleList: BookingScheduleList,
    baseMap: BaseMap
  }
}


//代表的是一个医生的数据
export interface Doctor {
  "id": string,
  "createTime": string,
  "updateTime": string,
  "isDeleted": string,
  "param": {
    "dayOfWeek": string,
    "depname": string,
    "hosname": string
  },
  "hoscode": string,
  "depcode": string,
  "title": string,
  "docname": string,
  "skill": string,
  "workDate": string,
  "workTime": number,
  "reservedNumber": number,
  "availableNumber": number,
  "amount": number,
  "status": number,
  "hosScheduleId": string
}

//数组包含全部医生
export type DocArr = Doctor[];
//获取医生排班接口返回的数据
export interface DoctorResponseData extends ResponseData {
  data: DocArr
}



//代表的是一个就诊人数据ts类型
export interface User {
  "id": number,
  "createTime": string,
  "updateTime": string,
  "isDeleted": number,
  "param": {
    "certificatesTypeString": string,
    "contactsCertificatesTypeString": string,
    "cityString": null,
    "fullAddress": string,
    "districtString": null,
    "provinceString": null
  },
  "userId": number,
  "name": number,
  "certificatesType": string,
  "certificatesNo": string,
  "sex": number,
  "birthdate": string,
  "phone": string,
  "isMarry": number,
  "provinceCode": null,
  "cityCode": null,
  "districtCode": null,
  "address": string,
  "contactsName": string,
  "contactsCertificatesType": string,
  "contactsCertificatesNo": string,
  "contactsPhone": string,
  "isInsure": number,
  "cardNo": null,
  "status": string
}
export type UserArr = User[];
export interface UserResponseData extends ResponseData {
  data: UserArr
}



//获取某一个挂号医生数据详情

export interface DoctorInfoData extends ResponseData {
  data: Doctor
}